package org.example.main.multi_threading;

import org.example.main.multi_threading.domain.Station;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * @Author: WangShengJie
 * @Date: 2025/5/31
 */
public class CurrencyBusinessModel {

    /**
     * 使用并发编程场景：
     * 1、面对业务问题本身就是一个“多线程”的业务模型。
     * 2、在业务流较高、用户较多的情况下，使用并发完成性能优化是实现系统高并发、高性能的有效手段之一。
     */
    private static AtomicInteger totalCount = new AtomicInteger(100);
    public static void main(String[] args) {
        System.out.println("车站开始售票~~~");
        Station stationA = new Station("A", totalCount);
        Station stationB = new Station("B", totalCount);
        Station stationC = new Station("C", totalCount);
        stationA.start();
        stationB.start();
        stationC.start();
        System.out.println("车站售票结束~~");
    }


}


